diff --git a/sklearn/manifold/t_sne.py b/sklearn/manifold/t_sne.py
index b2235fe7d..587fd3b56 100644
--- a/sklearn/manifold/t_sne.py
+++ b/sklearn/manifold/t_sne.py
@@ -393,8 +393,7 @@ def _gradient_descent(objective, p0, it, n_iter,
 
     return p, error, i
 
-
-def trustworthiness(X, X_embedded, n_neighbors=5, precomputed=False):
+def trustworthiness(X, X_embedded, n_neighbors=5, metric='precomputed'):
     r"""Expresses to what extent the local structure is retained.
 
     The trustworthiness is within [0, 1]. It is defined as
@@ -419,7 +418,7 @@ def trustworthiness(X, X_embedded, n_neighbors=5, precomputed=False):
     Parameters
     ----------
     X : array, shape (n_samples, n_features) or (n_samples, n_samples)
-        If the metric is 'precomputed' X must be a square distance
+        If `metric` is 'precomputed' X must be a square distance
         matrix. Otherwise it contains a sample per row.
 
     X_embedded : array, shape (n_samples, n_components)
@@ -428,18 +427,24 @@ def trustworthiness(X, X_embedded, n_neighbors=5, precomputed=False):
     n_neighbors : int, optional (default: 5)
         Number of neighbors k that will be considered.
 
-    precomputed : bool, optional (default: False)
-        Set this flag if X is a precomputed square distance matrix.
+    metric : string or callable, optional (default: 'precomputed')
+        The metric to use when calculating distance between instances in a
+        feature array. If metric is a string, it must be one of the options
+        allowed by `sklearn.metrics.pairwise.pairwise_distances`. If metric
+        is "precomputed", X is assumed to be a distance matrix. Alternatively,
+        if metric is a callable function, it is called on each pair of instances
+        (rows) and the resulting value recorded.
 
     Returns
     -------
     trustworthiness : float
         Trustworthiness of the low-dimensional embedding.
     """
-    if precomputed:
+
+    if metric == "precomputed":
         dist_X = X
     else:
-        dist_X = pairwise_distances(X, squared=True)
+        dist_X = pairwise_distances(X, metric=metric, squared=True)
     ind_X = np.argsort(dist_X, axis=1)
     ind_X_embedded = NearestNeighbors(n_neighbors).fit(X_embedded).kneighbors(
         return_distance=False)
